#ifndef BUILDING_H
#define BUILDING_H

#include "ActorEntity.h"
#include "../../Model/Model.h"
#include "../../SurfaceRenderingData.h"
#include "../../WrappedContainers/LinkedList.h"

class Building : public ActorEntity {
public:
	static LinkedList<Building*> destroyed;

protected: 
	static Model model;
	static NxActorDesc actorDesc;

	float hp;

	NxActor* actor;

public:
	static void Load();
	static void DeleteDestroyed();

	Building(const NxVec3& pos);
	virtual ~Building();

	virtual inline ACTOR_ENTITY_TYPE GetType() const { return AET_BUILDING;	}

	virtual void Draw();

	inline float GetHitpoints() const { return hp; }
	inline bool IsDestroyed() { return hp <= 0; }

	void TakeDamage(float force);
};

#endif //BUILDING_H
